339153
@@ -58,6 +58,8 @@
 import org.apache.hadoop.hive.serde2.ColumnProjectionUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.InspectableObject;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.shims.HadoopShims;
+import org.apache.hadoop.hive.shims.ShimLoader;
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.util.ReflectionUtils;
 
@@ -195,6 +197,14 @@
public int execute(DriverContext driverContext) {
 
       // }
 
+      //Set HADOOP_USER_NAME env variable for child process, so that
+      // it also runs with hadoop permissions for the user the job is running as
+      // This will be used by hadoop only in unsecure(/non kerberos) mode
+      HadoopShims shim = ShimLoader.getHadoopShims();
+      String endUserName = shim.getShortUserName(shim.getUGIForConf(job));
+      console.printInfo("setting HADOOP_USER_NAME\t" + endUserName);
+      variables.put("HADOOP_USER_NAME", endUserName);
+
       if (variables.containsKey(HADOOP_OPTS_KEY)) {
         variables.put(HADOOP_OPTS_KEY, variables.get(HADOOP_OPTS_KEY) + hadoopOpts);
       } else {
